home *** CD-ROM | disk | FTP | other *** search
/ Isometric Game Programming with DirectX 7.0 / Isometric Game Programming.iso / directx / dxf / include / vptype.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-02  |  2.7 KB  |  79 lines

  1. //------------------------------------------------------------------------------
  2. // File: VPType.h
  3. //
  4. // Desc: This file includes all the data structures defined for the IVPConfig
  5. //       interface.
  6. //
  7. // Copyright (c) 1997 - 2000, Microsoft Corporation.  All rights reserved.
  8. //------------------------------------------------------------------------------
  9.  
  10.  
  11. #ifndef __IVPType__
  12. #define __IVPType__
  13.  
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17.  
  18.     // enum to specify the criterion, which the vpmixer is supposed to use
  19.     // in order to select the video format
  20.     typedef enum _AMVP_SELECT_FORMAT_BY
  21.     {
  22.     AMVP_DO_NOT_CARE,
  23.     AMVP_BEST_BANDWIDTH,
  24.     AMVP_INPUT_SAME_AS_OUTPUT
  25.     } AMVP_SELECT_FORMAT_BY;
  26.  
  27.     // enum to specify the various mode
  28.     typedef enum _AMVP_MODE
  29.     {    
  30.     AMVP_MODE_WEAVE,
  31.     AMVP_MODE_BOBINTERLEAVED,
  32.     AMVP_MODE_BOBNONINTERLEAVED,
  33.     AMVP_MODE_SKIPEVEN,
  34.     AMVP_MODE_SKIPODD
  35.     } AMVP_MODE;
  36.  
  37.     // struct to specify the width and height. The context could be anything
  38.     // such as scaling cropping etc.
  39.     typedef struct _AMVPSIZE
  40.     {
  41.     DWORD            dwWidth;                // the width
  42.     DWORD            dwHeight;                // the height
  43.     } AMVPSIZE, *LPAMVPSIZE;
  44.  
  45.     // struct to specify the dimensional characteristics of the input stream
  46.     typedef struct _AMVPDIMINFO
  47.     {
  48.     DWORD            dwFieldWidth;                // Field height of the data
  49.     DWORD            dwFieldHeight;                // Field width of the data
  50.     DWORD            dwVBIWidth;                // Width of the VBI data
  51.     DWORD            dwVBIHeight;                // Height of the VBI data
  52.     RECT            rcValidRegion;                // The vaild rectangle, used for cropping
  53.     } AMVPDIMINFO, *LPAMVPDIMINFO;
  54.  
  55.     // struct to specify the various data specific characteristics of the input stream
  56.     typedef struct _AMVPDATAINFO
  57.     {
  58.     DWORD            dwSize;                    // Size of the struct
  59.     DWORD            dwMicrosecondsPerField;            // Time taken by each field
  60.     AMVPDIMINFO        amvpDimInfo;                // Dimensional Information 
  61.     DWORD            dwPictAspectRatioX;            // X dimension of Picture Aspect Ratio
  62.     DWORD            dwPictAspectRatioY;            // Y dimension of Picture Aspect Ratio
  63.     BOOL            bEnableDoubleClock;            // Videoport should enable double clocking
  64.     BOOL            bEnableVACT;                // Videoport should use an external VACT signal
  65.     BOOL            bDataIsInterlaced;            // Indicates that the signal is interlaced
  66.     LONG            lHalfLinesOdd;                // number of halflines in the odd field
  67.     BOOL            bFieldPolarityInverted;            // Device inverts the polarity by default
  68.     DWORD            dwNumLinesInVREF;            // Number of lines of data in VREF 
  69.     LONG            lHalfLinesEven;                // number of halflines in the even field
  70.     DWORD            dwReserved1;                // Reserved for future use
  71.     } AMVPDATAINFO, *LPAMVPDATAINFO; 
  72.  
  73.  
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77.  
  78. #endif // __IVPType__
  79.